HDMI source/sink interoperable configuration determination process

ABSTRACT

A method and system that configures an HDMI source device to use initial output parameters for communicating with an HDMI sink device, detects an abnormal operation performed by the HDMI sink device, selects a test of the HDMI sink device, applies the test, evaluates a result to determine whether the test produces a desired result, and modifies the initial output parameters to create revised output parameters. When the test produces the desired result, the revised output parameters will enable the HDMI sink device to produce the desired result. When the test fails to produce the desired result, the revised output parameters are conservative parameters that fail to produce the abnormal operation. The method reconfigures the HDMI source device to use the revised output parameters for communicating with the HDMI sink device, and saves the revised output parameters.

BACKGROUND

High-Definition Multimedia Interface (HDMI) is a compact audio/videointerface standard for transmitting and receiving uncompressed digitaldata. The HDMI standard enables the connection of a digital audio/videosource (e.g., set-top box, Digital Video Disc (DVD) player, camcorder,personal computer, video game console, and audio/video receiver) to acompatible digital audio/video sink device (e.g., computer monitor,video projector, and digital television). The device that sends an HDMIsignal (e.g., the DVD player or set-top box) is the HDMI source device,and the device that receives an HDMI signal (e.g., the digitaltelevision) is the HDMI sink device.

The HDMI specification describes three separate communications channels,Transition Minimized Differential Signaling (TMDS), Display Data Channel(DDC), and Consumer Electronics Control (CEC). The TMDS communicationschannel carries all audio and video data as well as auxiliary data thatdescribes the active audio and video streams. An HDMI source device usesthe DDC communications channel to determine the capabilities andcharacteristics of the HDMI sink device by reading the Enhanced ExtendedDisplay Identification Data (E-EDID) data structure. The HDMI sourcedevice reads the E-EDID from the HDMI sink device, and delivers only theaudio and video formats that the HDMI sink device will support. Inaddition, the HDMI sink device detects and processes the received audioand video data appropriately. The CEC communications channel isoptional, and provides support for higher-level user functions such asautomatic setup tasks or tasks typically associated with infrared remotecontrol usage.

Consumer electronics devices that support the HDMI standard can beautomatically configured, self-correct errors, and free the consumerfrom managing the device. The goal of the HDMI standard is for thesedevices to be “plug-n-play” devices. Unfortunately, the plug-n-playprocess for HDMI devices has never worked smoothly. The HDMI sourcedevices must interoperate with many types of HDMI sink devices and thepresentation output has many possible formats in the HDMI standard.Interoperability problems arise largely due to the limited HDMIHigh-bandwidth Digital Content Protection (HDMI/HDCP) compliance testscope as specified by the HDMI/HDCP standard bodies. For example, theHDCP compliance test uses only the 480p output format. It is possiblefor some digital televisions to pass the compliance test using the 480poutput format, but still exhibit interoperability problems on otherformats such as the 480i output format. Furthermore, the HDMI compliancetest does not involve any transition characterization, leaving room fora wide variety of transition behaviors during video presentation.

If there is a bug or flaw in the design of the HDMI sink device thatresults in poor behavior in some output formats, the automaticallyselected plug-n-play configuration will offer no work-around. Forexample, it is not possible for many digital television users to upgradetheir television, even if a firmware fix is available. The cable andsatellite system operators rely on the manufacturers of the set-top boxto provide a work-around for all of the interoperability issues withfirmware upgrades to the set-top box. The challenge is to provide aset-top firmware work-around for a specific model of television withoutaffecting the operation—and previous work-around—for all other models oftelevision. A perfect compromise solution is hard to achieve anddeployment results in reduced presentation quality for all models oftelevision. In addition, frequent changes to the firmware on the set-topbox significantly increase the burden of testing the firmware release.

Another significant challenge is the constant appearance of new HDMIsink devices that have never been tested with the HDMI source device. AnHDMI source device, such as a set-top box, is exposed to almost everynew HDMI television sink device being manufactured. There is no way toavoid the inevitable interoperability issues that arise. When confrontedwith many consumer complaints, the cable and satellite system operatorsonce again rely on the manufacturers of the set-top box to provide awork-around for all of the interoperability issues with firmwareupgrades to the set-top box.

There is a need for an HDMI sink device interoperability evaluationprocess that determines the best configuration of HDMI source deviceoutput parameters for communicating with a particular HDMI sink device.After evaluating the HDMI sink device, the process saves theconfiguration for all future connections with the same HDMI sink device.This evaluation process will allow the HDMI source devices to optimizethe output parameter settings for each HDMI sink device withoutrequiring a compromise solution that affects other HDMI sink devices.The presently disclosed invention satisfies this demand.

SUMMARY

Aspects of the present invention provide a method and system thatconfigures an HDMI source device to use initial output parameters forcommunicating with an HDMI sink device, detects an abnormal operationperformed by the HDMI sink device, selects a test of the HDMI sinkdevice, applies the test, evaluates a result to determine whether thetest produces a desired result, and modifies the initial outputparameters to create revised output parameters. When the test producesthe desired result, the revised output parameters will enable the HDMIsink device to produce the desired result. When the test fails toproduce the desired result, the revised output parameters areconservative parameters that fail to produce the abnormal operation. Themethod reconfigures the HDMI source device to use the revised outputparameters for communicating with the HDMI sink device, and saves therevised output parameters.

BRIEF DESCRIPTION OF THE DRAWINGS

FIG. 1 is a network diagram that illustrates one embodiment of thehardware components of a system that performs the present invention.

FIG. 2 is a block diagram that illustrates, in detail, one embodiment ofthe hardware components shown in FIG. 1.

FIG. 3 is a flow diagram that illustrates a method according to oneembodiment of the present invention.

DETAILED DESCRIPTION

FIG. 1 is a network diagram that illustrates one embodiment of thehardware components of a system that performs the present invention. TheHDMI system 100 shown in FIG. 1 includes an HDMI configuration databaseserver 110, network 120, HDMI source device 130, user 140, and HDMI sinkdevice 150. The network 120 connects the HDMI configuration databaseserver 110 to the HDMI source device 130. The HDMI sink device 150connects to the HDMI source device 130. The user 140 operates the HDMIsource device 130 and the HDMI sink device 150. The HDMI system 100shown in FIG. 1 may include any number of interconnected HDMIconfiguration database servers 110, networks 120, HDMI source devices130, users 140, and HDMI sink devices 150. In another embodiment, thefunctionality that the HDMI configuration database server 110 providesis integrated, either entirely or in-part, with the HDMI source device130.

The network 120 shown in FIG. 1, in one embodiment, is a communicationnetwork. The present invention also contemplates the use of comparablenetwork architectures including a LAN, a Personal Area Network (PAN)such as a Bluetooth network, a wireless LAN (e.g., a Wireless-Fidelity(Wi-Fi) network), and a Virtual Private Network (VPN). The system alsocontemplates network architectures and protocols such as Ethernet,Internet Protocol, and Transmission Control Protocol.

The user 140 operates the HDMI source device 130 shown in FIG. 1 toinitiate a process on the HDMI source device 130 to evaluate thecommunication with the HDMI sink device 150 by determining the best(i.e., optimal, or most efficient) configuration of HDMI source device130 output parameters for communicating with the HDMI sink device 150.In another embodiment, the HDMI source device 130 automaticallyinitiates the evaluation process. In yet another embodiment, the HDMIsource device 130 relies upon observations by the user 140 of the HDMIsink device 150 to provide feedback for determining the bestconfiguration of the HDMI source device 130 output parameters forcommunicating with the HDMI sink device 150.

FIG. 2 is a block diagram that illustrates, in detail, one embodiment ofthe hardware components shown in FIG. 1. In particular, FIG. 2illustrates the hardware components and software comprising the HDMIconfiguration database server 110, HDMI source device 130, and HDMI sinkdevice 150 shown in FIG. 1.

The HDMI configuration database server 110, in one embodiment, is ageneral-purpose computing device that performs the present invention. Abus 210 is a communication medium that connects a processor 211, datastorage device 212 (such as a Serial ATA (SATA) hard disk drive, opticaldrive, Small Computer System Interface (SCSI) disk, flash memory, cloudstorage, or the like), communication interface 213, HDMI configurationdatabase 214, and memory 215 (such as Random Access Memory (RAM),Dynamic RAM (DRAM), non-volatile computer memory, flash memory, or thelike). The communication interface 213 connects the HDMI configurationdatabase server 110 to the network 120, and allows the HDMIconfiguration database server 110 to provide device configurationparameters to enable an HDMI source device 130 to communicate with anHDMI sink device 150. The HDMI configuration database 214, in variousembodiments, is a text file, relational database, or object database. Inanother embodiment, the HDMI configuration database 214 is distributedbetween the HDMI configuration database server 110 and HDMI sourcedevice 130. In yet another embodiment, the HDMI configuration database214 resides entirely on the HDMI source device 130.

The processor 211 performs the disclosed methods by executing thesequences of operational instructions that comprise each computerprogram resident in, or operative on, the memory 215. The reader shouldunderstand that the memory 215 may include operating system,administrative, and database programs that support the programsdisclosed in this application. In one embodiment, the configuration ofthe memory 215 of the HDMI configuration database server 110 includes anHDMI configuration determination program 216 that performs the methodsof the present invention disclosed in detail in FIG. 3. When theprocessor 211 performs the disclosed methods, it stores intermediateresults in the memory 215, data storage device 212, or HDMIconfiguration database 214. In another embodiment, the memory 215 mayswap programs, or portions thereof, in and out of the memory 215 asneeded, and thus may include fewer than all of these programs at any onetime.

The HDMI source device 130, in one embodiment, is a general-purposecomputing device that performs the present invention. A bus 230 is acommunication medium that connects a processor 231, data storage device232 (such as a Serial ATA (SATA) hard disk drive, optical drive, SmallComputer System Interface (SCSI) disk, flash memory, or the like),communication interface 233, user interface 234, and memory 235 (such asRandom Access Memory (RAM), Dynamic RAM (DRAM), non-volatile computermemory, flash memory, cloud storage, or the like). The communicationinterface 233 connects the HDMI source device 130 to the network 120,and allows the HDMI source device 130 to receive from the HDMIconfiguration database server 110 device output parameters for an HDMIsink device 150 that connects to the HDMI source device 130. The userinterface 234 connects the user 140 to the HDMI source device 130. Inone embodiment, the user interface 234 is an infrared remote controlthat enables the user 140 to access an on-screen menu displayed on anHDMI television that is an HDMI sink device 150 that connects to theHDMI source device 130. In another embodiment, the user interface 234 isa keypad or keyboard that enables the user 140 to interact with the HDMIsource device 130. In one embodiment, the implementation of the presentinvention on the HDMI source device 130 is an application-specificintegrated circuit (ASIC).

The processor 231 performs the disclosed methods by executing thesequences of operational instructions that comprise each computerprogram resident in, or operative on, the memory 235. The reader shouldunderstand that the memory 235 may include operating system,administrative, and database programs that support the programsdisclosed in this application. In one embodiment, the configuration ofthe memory 235 of the HDMI source device 130 includes an HDMIconfiguration determination program 236 that performs the methods of thepresent invention disclosed in detail in FIG. 3, and test results 237.When the processor 231 performs the disclosed methods, it storesintermediate results in the memory 235 or data storage device 232. Inanother embodiment, the memory 235 may swap programs, or portionsthereof, in and out of the memory 235 as needed, and thus may includefewer than all of these programs at any one time.

The HDMI sink device 150, in one embodiment, is a general-purposecomputing device that performs the present invention. A bus 250 is acommunication medium that connects a processor 251, communicationinterface 252, and memory 253 (such as Random Access Memory (RAM),Dynamic RAM (DRAM), non-volatile computer memory, flash memory, or thelike). The communication interface 252 connects the HDMI sink device 150to the HDMI source device 130. In one embodiment, the implementation ofthe present invention on the HDMI sink device 150 is anapplication-specific integrated circuit (ASIC).

The processor 251 executes sequences of operational instructions thatcomprise each computer program resident in, or operative on, the memory253. In one embodiment, the configuration of the memory 253 of the HDMIsink device 150 includes Enhanced Extended Display Identification Data(E-EDID) 254 that the HDMI source device 130 reads to determine thecapabilities and characteristics of the HDMI sink device 150 to supportthe process disclosed in detail in FIG. 3. In one embodiment, the memory253 is non-volatile memory. When the processor 251 executes sequences ofoperational instructions, it stores intermediate results in the memory253. In another embodiment, the memory 253 may swap programs, orportions thereof, in and out of the memory 253 as needed, and thus mayinclude fewer than all of these programs at any one time.

FIG. 3 is a flow diagram that illustrates a method according to oneembodiment of the present invention. In particular, FIG. 3 illustratesthe communication between the HDMI source device 130, and HDMI sinkdevice 150.

The process 300 shown in FIG. 3, with reference to FIG. 1 and FIG. 2,begins when a user 140 connects an HDMI sink device 150 to an HDMIsource device 130 (step 305). In one embodiment, the HDMI source device130 is a set-top box, the HDMI sink device 150 is an HDMI television,and the connection uses standard HDMI cables. If the HDMI source device130 and the HDMI sink device 150 are fully compliant with the HDMI/HDCPspecification, the connection of the devices triggers the HDMI sourcedevice 130 to receive public configuration parameters for the HDMI sinkdevice 150 (step 310). The public configuration parameters, includingEDID, Bcaps register, and Bstatus, are used to create a full workingconfiguration derived from the HDMI/HDCP specification for the HDMI sinkdevice 150. The HDMI source device 130 uses the public configurationparameters to configure the HDMI source device 130 output parameters forcommunicating with the HDMI sink device 150 (step 315). Thisconfiguration of the communication includes, without limitation, thevideo output format (e.g., 480p, 480i, 1080p, and 1080i), audio outputformat (e.g., AC-3, AAC, and MPEG-2), preferred 3D video output format,DDC line communication delay, hold time, etc., and whether TMDS linesare turned off during format changes.

The process 300 shown in FIG. 3 begins to characterize an abnormaloperation or problem with the initial configuration of the HDMI sourcedevice 130 output parameters for communicating between the HDMI sourcedevice 130 and the HDMI sink device 150 by either the user 140 observingan abnormal operation performed by the HDMI sink device 150 (step 320),or the HDMI source device 130 detecting an abnormal operation performedby the HDMI sink device 150 (step 325). If the user 140 observes theabnormal operation performed by the HDMI sink device 150 (step 320, Ybranch), the user 140 may manually initiate a process to evaluate theobserved abnormal operation and determine whether a modification to theconfiguration of the HDMI source device 130 output parameters forcommunicating with the HDMI sink device 150 will remedy the observedabnormal operation. Alternatively, if the HDMI source device 130 detectsthe abnormal operation (e.g., HDCP maintenance failure) performed by theHDMI sink device 150 (step 325, Y branch), the HDMI source device 130automatically initiates the process to evaluate the abnormal operationand determine whether a modification to the configuration of the HDMIsource device 130 output parameters for communicating with the HDMI sinkdevice 150 will correct the abnormal operation.

The process to evaluate the abnormal operation and determine whether amodification to the configuration of the HDMI source device 130 outputparameters for communicating with the HDMI sink device 150 will correctthe abnormal operation begins when the process 300 shown in FIG. 3selects a test that will evaluate the abnormal operation (step 330). Inone embodiment, the test is of a function that the HDMI sink device 150performs that relates to correction of the abnormal operation. Inanother embodiment, the test is based on typical working modes andconditions to determine whether the HDMI sink device 150 can performwell using the basic plug-n-play configuration. Once the process 300selects the test (step 330), it applies the test when operating the HDMIsink device 150 (step 335), and evaluates a result of the test (step340). After each test, the HDMI source device 130 determines whether adesired result was observed (step 345). In one embodiment, theevaluation of the result includes a comparison of the HDMI sink device150 health status collected by the HDMI source device 130 to the desiredresult, where a “good” health status indicates that a device is workingproperly—without error—and is “healthy”. The HDMI source device 130 mayrequest the user 140 to set certain modes manually on the HDMI sinkdevice 150 via an on-screen display. In addition, feedback from the user140 may be needed to identify visual and audio artifacts, such aswhether the video is presented on the HDMI sink device 150 with aparticular resolution, or whether any video artifacts are present. Afterperforming the test, the HDMI source device 130 stores the test results237 in the memory 235, or data storage device 232. If the test did notobtain the desired result (step 345, N branch), the process 300 revertsthe configuration of the HDMI source device 130 output parameters forcommunicating with the HDMI sink device 150 to conservativeconfiguration parameters that fail to produce the abnormal operation(step 350), and reapplies the test (step 335) to determine whether theconservative configuration of the HDMI source device 130 outputparameters for communicating with the HDMI sink device 150 do notproduce the abnormal operation. If the test obtains the desired result(step 345, Y branch), the process 300 modifies the configuration of theHDMI source device 130 output parameters for communicating with the HDMIsink device 150 to enable the HDMI sink device 150 to produce thedesired result (step 355), and saves the modified configuration of theHDMI source device 130 output parameters for communicating with the HDMIsink device 150. The process 300 iteratively applies tests at graduallyreduced levels until the user 140 observes the desired result. In oneembodiment, the HDMI source device 130 saves the modified configurationof the HDMI source device 130 output parameters for communicating withthe HDMI sink device 150 in the HDMI configuration database 214 on theHDMI configuration database server 110, thereby allowing another HDMIsource device 130 to retrieve the modified configuration of the HDMIsource device 130 output parameters for communicating with the HDMI sinkdevice 150. In one embodiment, the modified configuration of the HDMIsource device 130 output parameters for communicating between the HDMIsource device 130 and the HDMI sink device 150 replaces the publicconfiguration of the HDMI source device 130 output parameters forcommunicating with the HDMI sink device 150 that the HDMI source device130 will receive in the future (step 310).

In one embodiment, the HDMI source device 130 stores a log of problemsencountered with the HDMI sink device 150, the results of the process tomodify the configuration of the HDMI source device 130 output parametersfor communicating with the HDMI sink device 150, and the actions by theuser 140. In another embodiment, the HDMI source device 130 generates adetailed diagnostic report using a diagnostic interface to diagnoseoperations issues and to evaluate tests of the configuration of the HDMIsource device 130 output parameters for communicating with the HDMI sinkdevice 150.

The process 300 shown in FIG. 3 uses the simplest test-set to determinethe optimal configuration of the HDMI source device 130 outputparameters for communicating from the HDMI source device 130 to the HDMIsink device 150. If a test within a particular test category fails, thenthe configuration of the HDMI source device 130 output parameters forcommunicating with the HDMI sink device 150 for that category willgenerally revert to the most conservative configuration parameters asset by the HDMI/HDCP specification. The interoperable configuration ofthe communication with the HDMI sink device 150 may have a number oflevels, from conservative configurations to increasingly morespecialized configurations. In one embodiment, the interoperableconfiguration of the HDMI source device 130 output parameters forcommunicating with the HDMI sink device 150 includes two levels, fullconfiguration and conservative configuration. The conservativeconfiguration may include: (1) advanced feature support reduction; (2)conservative state transition timing (e.g., longer Hot Plug Detect (HPD)debounce time, or longer delay for the pixel clock to stabilize beforestarting the first part of HDCP authentication); (3) completelydisconnect the TMDS signal to force the HDMI sink device 150 tosynchronize; and (4) wait a predetermined amount of time, or usealternative I2C register, if the HDMI sink device 150 has a problemhonoring the register status read method. For example, if the HDMI sinkdevice 150 is an HDMI television that claims to support HDMI 1.1features, but the user 140 observes snow when the HDMI source device 130asserts the same information at the Ainfo register, then the HDMI sourcedevice 130 needs to revert the HDCP configuration for the HDMItelevision to not supporting the 1.1 features, and recommend to use allsafe HDCP parameters for the HDMI television.

In one embodiment, the process 300 shown in FIG. 3 may perform the HDMIsink device 150 Hot Plug Detect (HPD) line stability test. The HDMIsource device 130 firmware sends a request to the user 140 via anon-screen display to power off the HDMI sink device 150 (e.g., an HDMItelevision) and counts the number of HPD line transitions (i.e.,interrupts) during the test period. If the number of HPD linetransitions is greater than one, then there is noise in the HPD line andthe HDMI source device 130 will apply the special power-on procedure totarget this issue to prevent start-up presentation artifacts. Similarly,during the TV power-on period multiple HPD line transitions imply thatthe HPD line is not well controlled by the TV during its start-upprocessing. Special handling is also needed on the HDMI source deviceside.

In another embodiment, the process 300 shown in FIG. 3 may perform theHDMI sink device 150 audio format change artifact prevention test. TheHDMI source device 130 firmware plays audio clips with different formats(e.g., AC-3, AAC, and MPEG-2) and requests an observation from the user140 whether any artifacts were heard during the presentation period. Ifthe user 140 responds that they observed an abnormality during thepresentation, then the HDMI source device 130 will apply a special audioformat change procedure.

In another embodiment, the process 300 shown in FIG. 3 may perform theHDMI sink device 150 video format change presentation quality test. TheHDMI source device 130 firmware plays video clips with different formats(e.g., 480i, 720p, 1080p, and 1080i) and requests an observation fromthe user 140 whether any artifacts were seen during the presentationperiod. If the user 140 responds that they observed an abnormalityduring the presentation, then the HDMI source device 130 will apply aspecial video format change procedure.

For expert users or service technicians, the HDMI source device 130 mayshow the configuration of the HDMI source device 130 output parametersfor communicating with the HDMI sink device 150 on an on-screen displayto allow the user 140 to make manual selection of various combinationsof configuration. This manual input feature provides additionalflexibility to alleviate unanticipated field issues. This feature alsomakes it possible to configure the HDMI sink device 150 from a remotelocation via a designated downstream control channel. The HDMI sourcedevice 130 firmware can be programmed to execute the HDMI/HDCP protocolsbased on a set of rules that define a configuration that may be pushedto the HDMI source device 130, or downloaded by the HDMI source device130, via the designated downstream control channel. Similarly, the datarecords that the HDMI source device 130 stores may also be retrieved viathe upstream return channel.

The HDMI source device 130 may be controlled and configured from aremote location. Typically, a set-top box manufacturer or serviceprovider has support facilities with support staff and networkequipment. The purpose of these facilities is to answer calls fromcustomers who need help and to configure the set-top boxes to eliminatecustomer problems. These problems can be addressed by either a staffmember manually testing the customer's equipment, or automaticconfiguration of the setup.

At a customer support facility, support staff can conduct the same testsas mentioned above. There are many ways to implement remote test andconfiguration (e.g., telnet). The support staff would sit in front of aconsole and command the set-top box to conduct experiments. The resultscould be displayed on the support staff's console. Once the problem isunderstood, a configuration message can be sent to the setup to fix theproblem. Once the problem is both understood and corrected, theautomatic correction system is updated to automatically make thiscorrection in the future.

An HDMI configuration database server 110 that is located at a supportfacility can support automatic configuration by maintaining a databaseof the recommended configuration of the HDMI source device 130 outputparameters for communicating with each model of HDMI sink device 150(e.g., an HDMI television). Whenever the set-top box needs to know theconfiguration of the HDMI source device 130 output parameters forcommunicating from the HDMI source device 130 to the HDMI sink device150, it sends a query to the HDMI configuration database server 110.Whenever a recommended configuration changes, the configuration changeis broadcast to all set-top boxes. If a set-top box is connected to anHDMI sink device 150 that has had a recommended configuration change,the set-top box will update the configuration of the HDMI source device130 output parameters for communicating with the HDMI sink device 150.When an HDMI sink device 150 is connected to the set-top box, theset-top box sends a query to the HDMI sink device 150 to request itsEDID that lists the capabilities of the HDMI sink device 150. The EDIDresponse contains sufficient information to identify the specificdevice. The set-top box then sends this identity to the HDMIconfiguration database server 110 and the HDMI configuration databaseserver 110 returns a recommended configuration of the HDMI source device130 output parameters for communicating with the HDMI sink device 150.

For example, if the configuration of the HDMI source device 130 outputparameters for communicating from an HDMI source device 130 to an HDMIsink device 150 (e.g., an HDMI television) incorrectly lists a preferred3D format that its EDID does not support, when a customer tries to tuneto a 3D channel, the results are bad. The customer calls the supportcenter and speaks with a staff member. The staff member asks thecustomer a few questions and runs some remote tests. The support staffperson diagnoses the problem, builds a special message to change thepreferred 3D format in the configuration of the HDMI source device 130output parameters for communicating with the HDMI sink device 150, andsends the message to the customer's HDMI source device 130 (e.g.,set-top box). If the HDMI sink device 150 can now tune to a 3D channel,the customer is happy. The support staff adds the new configurationrecommendation for this HDMI sink device 150 to the HDMI configurationdatabase 214.

Although the disclosed embodiments describe a fully functioning methodand system for configuration of the HDMI source device output parametersfor communicating from an HDMI source device to an HDMI sink device, thereader should understand that other equivalent embodiments exist. Sincenumerous modifications and variations will occur to those reviewing thisdisclosure, the method and system for configuration of the HDMI sourcedevice output parameters for communicating from an HDMI source device toan HDMI sink device is not limited to the exact construction andoperation illustrated and disclosed. Accordingly, this disclosureintends all suitable modifications and equivalents to fall within thescope of the claims.

We claim:
 1. A method, comprising: configuring a High DefinitionMultimedia Interface (HDMI) source device to use initial outputparameters for communicating with an HDMI sink device; in the HDMIsource device, detecting an abnormal operation performed by the HDMIsink device; in the HDMI source device, selecting a test of the HDMIsink device, wherein the test is of a function that the HDMI sink deviceperforms and that relates to correction of the abnormal operation; inthe HDMI source device, applying the test when communicating with theHDMI sink device; in the HDMI source device, evaluating a result of thetest to determine whether the test produces a desired result; in theHDMI source device, modifying the initial output parameters to createrevised output parameters, wherein when the test produces the desiredresult, the revised output parameters will enable the HDMI sink deviceto produce the desired result, and wherein when the test fails toproduce the desired result, the revised output parameters areconservative parameters that fail to produce the abnormal operation; inthe HDMI source device, reconfiguring the HDMI source device to use therevised output parameters for communicating with the HDMI sink device;and in the HDMI source device, saving the revised output parameters,wherein the saving of the revised output parameters further comprisesstoring the revised output parameters in an HDMI configuration database,thereby allowing configuration of another HDMI source device to use therevised output parameters for communicating with the HDMI sink device.2. The method of claim 1, wherein the configuring of the HDMI sourcedevice further comprises: receiving public output parameters from theHDMI sink device; and determining the initial output parameters based onthe public output parameters.
 3. The method of claim 1, wherein thedetecting of the abnormal operation further comprises: receiving anotification from a user of the HDMI sink device that the HDMI sinkdevice performed the abnormal operation.
 4. The method of claim 1,wherein the detecting of the abnormal operation further comprises:automatically recognizing an error condition produced by the HDMI sinkdevice.
 5. The method of claim 1, wherein the evaluating of the resultfurther comprises: receiving the result as an observation from a user ofthe HDMI sink device; evaluating the observation from the user; andcomparing the observation from the user to the desired result.
 6. Themethod of claim 1, wherein the evaluating of the result furthercomprises: receiving the result from the HDMI sink device as a healthstatus collected by the HDMI source device; evaluating the healthstatus; and comparing the health status to the desired result.
 7. Asystem, comprising: a memory device resident in a computing device; anda processor of a High Definition Multimedia Interface (HDMI) sourcedevice disposed in communication with the memory device, the processorconfigured to: in the HDMI source device, configure the HDMI sourcedevice to use initial output parameters for communicating with an HDMIsink device; in the HDMI source device, detect an abnormal operationperformed by the HDMI sink device; in the HDMI source device, select atest of the HDMI sink device, wherein the test is of a function that theHDMI sink device performs and that relates to correction of the abnormaloperation; in the HDMI source device, apply the test when communicatingwith the HDMI sink device; in the HDMI source device, evaluate a resultof the test to determine whether the test produces a desired result; inthe HDMI source device, modify the initial output parameters to createrevised output parameters, wherein when the test produces the desiredresult, the revised output parameters will enable the HDMI sink deviceto produce the desired result, and wherein when the test fails toproduce the desired result, the revised output parameters areconservative parameters that fail to produce the abnormal operation; inthe HDMI source device, reconfigure the HDMI source device to use therevised output parameters for communicating with the HDMI sink device;and in the HDMI source device, save the revised output parameters,wherein the saving of the revised output parameters further comprisesstoring the revised output parameters in an HDMI configuration database,thereby allowing configuration of another HDMI source device to use therevised output parameters for communicating with the HDMI sink device.8. The system of claim 7, wherein to configure the HDMI source device,the processor is further configured to: receive public output parametersfor the HDMI sink device; and determine the initial output parametersbased on the public output parameters.
 9. The system of claim 7, whereinto detect the abnormal operation, the processor is further configuredto: receive a notification from a user of the HDMI sink device that theHDMI sink device performed the abnormal operation.
 10. The system ofclaim 7, wherein to detect the abnormal operation, the processor isfurther configured to: automatically recognize an error conditionproduced by the HDMI sink device.
 11. The system of claim 7, wherein toevaluate the result, the processor is further configured to: receive theresult as an observation from a user of the HDMI sink device; evaluatethe observation from the user; and compare the observation from the userto the desired result.
 12. The system of claim 7, wherein to evaluatethe result, the processor is further configured to: receive the resultfrom the HDMI sink device as a health status collected by the HDMIsource device; evaluate the health status; and compare the health statusto the desired result.
 13. A non-transitory computer-readable medium,comprising stored computer-executable instructions that, when executedon a computing device, perform steps of: configuring a High DefinitionMultimedia Interface (HDMI) source device to use initial outputparameters for communicating with an HDMI sink device; detecting anabnormal operation performed by the HDMI sink device; selecting a testof the HDMI sink device, wherein the test is of a function that the HDMIsink device performs and that relates to correction of the abnormaloperation; applying the test when communicating with the HDMI sinkdevice; evaluating a result of the test to determine whether the testproduces a desired result; modifying the initial output parameters tocreate revised output parameters, wherein when the test produces thedesired result, the revised output parameters will enable the HDMI sinkdevice to produce the desired result, and wherein when the test fails toproduce the desired result, the revised output parameters areconservative parameters that fail to produce the abnormal operation;reconfiguring the HDMI source device to use the revised outputparameters for communicating with the HDMI sink device; and in the HDMIsource device, saving the revised output parameters, wherein the savingof the revised output parameters further comprises storing the revisedoutput parameters in an HDMI configuration database, thereby allowingconfiguration of another HDMI source device to use the revised outputparameters for communicating with the HDMI sink device.
 14. Thenon-transitory computer-readable medium of claim 13, wherein theconfiguring of the HDMI source device further comprises: receivingpublic output parameters from the HDMI sink device; and determining theinitial output parameters based on the public output parameters.
 15. Thenon-transitory computer-readable medium of claim 13, wherein thedetecting of the abnormal operation further comprises: receiving anotification from a user of the HDMI sink device that the HDMI sinkdevice performed the abnormal operation.
 16. The non-transitorycomputer-readable medium of claim 13, wherein the detecting of theabnormal operation further comprises: automatically recognizing an errorcondition produced by the HDMI sink device.
 17. The non-transitorycomputer-readable medium of claim 13, wherein the evaluating of theresult further comprises: receiving the result as an observation from auser of the HDMI sink device; evaluating the observation from the user;and comparing the observation from the user to the desired result. 18.The non-transitory computer-readable medium of claim 13, wherein theevaluating of the result further comprises: receiving the result fromthe HDMI sink device as a health status collected by the HDMI sourcedevice; evaluating the health status; and comparing the health status tothe desired result.